package com.amumu.drama.common.modules.category.service;

import com.amumu.drama.common.base.api.CommonPage;
import com.amumu.drama.common.base.api.CommonResult;
import com.amumu.drama.common.modules.category.dto.GameSkuQueryDto;
import com.amumu.drama.common.modules.category.dto.SkuStockDto;
import com.amumu.drama.common.modules.category.vo.GameSkuVo;
import com.amumu.drama.model.PmsSkuStock;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * 商品SKU库存管理Service
 * Created by macro on 2018/4/27.
 */
public interface GameSkuService extends IService<PmsSkuStock> {

    /** 新增sku */
    int addSkuStock(SkuStockDto skuStockDto);

    /**
     * 编辑商品库存信息
     * @param skuStockDto
     * @return
     */
    CommonResult<String> editSkuStock(SkuStockDto skuStockDto);

    /**
     * 删除游戏sku
     * @param skuStockId
     * @return
     */
    CommonResult<String> deleteSkuStock(Long skuStockId);


    /**
     * 商品销量加1
     * @param skuStockId
     * @return
     */
    CommonResult<String> plusOneSkuStock(Long skuStockId);

    /**
     * 分页查询游戏sku信息
     * @param gameQueryDto
     * @return
     */
    CommonPage<GameSkuVo> pageGameSkuList(GameSkuQueryDto gameQueryDto);

    /**
     * 获取库存详细信息
     * @param skuStockId
     * @return
     */
    CommonResult<GameSkuVo> getGameSkuInfo(Long skuStockId);


    /**
     * 批量同步库存信息
     * @return
     */
    CommonResult<String> batchSynchronizeSkuStock();


}
